可以先看一下下方心智圖,可以方便我們理解,類別的基礎用法我們在上一篇已經演示給大家看了
pdf檔點這裡
在這心智圖我們可以瞭解基礎的物件導向基礎概念觀念接下來我們做個延伸
我們先寫有私有屬性與方法的類 :
class Father_class():
def __init__(self, example_variable):
self.example_variable = example_variable # 定義屬性
self.__private_attribute = 22
def Example_method(self): # 定義方法
print("this is instance ", self.example_variable)
print("this is private attribute", self.__private_attribute)
def __private_method(self):
print("this is private method")
我們可以看到有一個私有屬性 self.__private_attribute
與私有方法 __private_method
。
我們可以使用 __dict__
取得所有公有、私有屬性的值且會以dict的格式呈現
father_object = Father_class(132)
print(father_object.__dict__)
# {'example_variable': 132, '_Father_class__private_attribute': 22}
我們可以在類裡面新增一個 method 且這個 method 可以回傳私有 attribute
class Father_class():
def __init__(self, example_variable):
self.example_variable = example_variable # 定義屬性
self.__private_attribute = 22
def Example_method(self): # 定義方法
print("this is instance ", self.example_variable)
print("this is private attribute", self.__private_attribute)
def __private_method(self):
print("this is private method")
def get_privateAttribute(self):
return self.__private_attribute
father_object = Father_class(132)
getVar = father_object.get_privateAttribute()
print(getVar)
先寫一個可以繼承父類的子類別,並且使用super().__init__
繼承父類的初始屬性值,如果我們增加self.example_variable=example_variable
時會將原來繼承的值覆蓋掉
class Son_class(Father_class):
def __init__(self, example_variable):
super().__init__(example_variable) # 繼承父類初始屬性值
def son_method(self):
print("this is son instance ", self.example_variable)
讓父系幫助你【使用 super】
[Python物件導向]淺談Python類別(Class)
澎澎的教學網站
澎澎的yt教學頻道